#pragma once
#include "AdditiveSynthInstrument.h"
#include <vector>

class CAdditiveSynthFactory
{
public:
	CAdditiveSynthFactory(void);
	~CAdditiveSynthFactory(void);

	CAdditiveSynthInstrument* CreateInstrument();
	void SetNote(CNote *note);
	void Reset();

private:
	std::vector<double> m_amps;
	std::vector<double> m_ampsfade;
	double m_attack;
	double m_decay;
	double m_release;
	double m_attackFactor;
	bool   m_vibrato;
	double m_vibratofreq;
	double m_modulation;
};

